package cn.tedu.sp04.feign;

import cn.tedu.sp01.entity.Item;
import cn.tedu.web.util.JsonResult;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;

import java.util.List;

/**
 * @author 金帮嘉诚 @date 2021-09-10 星期五 14:21
 */

/**
 * 三个配置:
 * 1. 调用哪个服务
 * 2. 调用哪个服务的哪个路径
 * 3. 向这个路径提交哪个参数
 * <p>
 * 有可能出现错误 ...not found:"item-service"
 * 1. 服务没有启动, 注册表中不存在item-service
 * 2. 服务已经启动, 有注册信息, 需要等待30秒 刷新注册表 (得到的注册表还是旧版本)
 */

@FeignClient(name = "item-service")
public interface ItemClient {
    //
    //这个就是要请求的方法对应的路径和请求方式 直接复制即可
    @GetMapping("/{orderId}")
    JsonResult<List<Item>> getItems(@PathVariable String orderId);

    @PostMapping("/decreaseNumber")
    JsonResult<?> decreaseNumber(List<Item> items);
}
